/**
 * Copyright (C)  2011  chen wei hua.
 * Permission is granted to copy, distribute and/or modify this document
 * under the terms of the GNU Free Documentation License, Version 2.0
 * or any later version published by the Free Software Foundation;
 * with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 * A copy of the license is included in the section entitled "GNU Free Documentation License".
 */
package com.javaeye.delivery.service;

import java.util.List;

import com.javaeye.delivery.dto.CustomerOrder;
import com.javaeye.common.web.PageInfo;
import com.javaeye.delivery.web.OrderCondition;

public interface IOrderService {
	
	//public static final int ORDER_STATES_ALL = -1;
	
	public static final int ORDER_STATES_CLOSED = 0;
	
	public static final int ORDER_STATES_CREATED = 1;
	
	public static final int ORDER_STATES_PLAN = 2;
	
	public static final int ORDER_STATES_BUSINESS = 3;
	
	public static final int ORDER_STATES_IN_STORE = 4;
	
	public static final int ORDER_STATES_CHECKED = 5;
	
	public static final int ORDER_STATES_CREATED_DELIVERY_ORDER = 6;
	
	public static final int ORDER_STATES_WAIT_CLOSE = 7;
	
	public static final int ORDER_STATES_END = 20;
	
	public void saveOrder(CustomerOrder order);
	
	public CustomerOrder getOrderBaseInfo(String orderId);
	
	public void closeOrder(String orderId);
	
	public List<CustomerOrder> getOrderList(OrderCondition condition, PageInfo pageInfo);
	
	public void saveApplyClose(String orderId, CustomerOrder order);
	
	public void cancelCloseOrder(String orderId);
	
	public void closeApplyOrder(String orderId);

}
